//权限类型列表
$(function(){
	//关闭dialog
	$('#closeId').click(function(){
		$("#privilegeDialogId").dialog("close");
		$("#privilegeListId").datagrid("reload"); //刷新
	});
	
	//关闭dialog
	$('#closepId').click(function(){
		//清空值
		menuIds=[];
		privilgeIds = [];
		$("#menuDialogId").dialog("close");
		//$("#privilegeListId").datagrid("reload"); //刷新
	});
	
	//编辑权限类型
	$("#saveId").click(function(){
		if($("#privilegeFormId").form('validate')){
			$.postJson($WEB_ROOT_PATH+'/w/wh005/editSysPrivilege',$("#privilegeFormId").serializeJsonStr(),function(result){
				if(result){
					if($("#pkId").val()!=''){
						$.messager.alert('提示','操作成功',"",function(){
							$("#privilegeDialogId").dialog("close");
							clearForm();
						});
					}else{
						$.messager.alert('提示','操作成功',"",function(){
							clearForm();
						});
					}
				}else{
					$.messager.alert('提示','操作失败',"",function(){
						clearForm();
					});
				}
			},'json');
		}
	});
	
	//菜单授权
	$("#savepId").click(function(){
		var node = $('#treeId').tree('getChecked');
		var indeterminate = $('#treeId').tree('getChecked','indeterminate'); //实心圆
		if(node.length==0){
			$.messager.alert('提示','请至少选一个节点',"info");
			return;
		}
		for(var i=0;i<node.length;i++){
			if(null!=node[i].id){
				menuIds.push(node[i].id);
			}
		}
		
		/**
		 * 实心圆放弃（牵扯级联回显修改有问题，因为双向级联，下面已经修改成单向的向上级联的了）
		 * 此处不会存值（删不删都可以）
		 */
		if(indeterminate!=null && indeterminate!=""){
			menuIds.push(indeterminate[0].id);
		}
		
		var url = $WEB_ROOT_PATH+'/w/wh005/setPrivilege';
		$.post(url,{
			"menuIds[]" : menuIds,
			"privilgeIds[]" : privilgeIds
			},function(r){
			if(r=="true" || r){
				$.messager.alert('提示','操作成功',"",function(){
				});
			}else{
				$.messager.alert('提示','操作失败',"",function(){
				});
			}
		});
		
	});
	
});


function returnId(val,row){ //回显id
	return row.id;
}

/**
 * 权限类型添加dialog
 */
function openPrivilegeDialog(){
	$("#privilegeDialogId").dialog({
		closed: false,
		closable: false,
		left:'35%',
		top:'15%',
		title:'添加权限类型',
		iconCls:'icon-save',
		onOpen:function(){
			$("#privilegeFormId").form("clear");
		}
	});
}

/**
 * 权限类型修改dialog
 */
function upPrivilege(){
	var selRow = $("#privilegeListId").datagrid("getSelections");// 返回选中多行
	if(selRow.length==0 || selRow.length>1){
		$.messager.alert("提示", "请选择一行数据！","warning");
		return;
	}
	var id = selRow[0].id; //用户主键
	$.post($WEB_ROOT_PATH+'/w/wh005/getOnePrivilegeById',{id:id},function(result){
		$("#privilegeDialogId").dialog({
			closed: false,
			closable: false,
			left:'35%',
			top:'15%',
			title:'修改权限类型',
			iconCls:'icon-edit',
			onOpen:function(){ //采用查询单个对象返回值
				$("#privilegeFormId").form("load",result); //载入表单
			}
		});
		
	},'json');
}

function clearForm(){//清空表单
	$("#privilegeFormId").form("clear");
	$("#privilegeListId").datagrid("reload"); //刷新
}

/**
 * 删除权限类型
 */
function delPrivilege(){
	var selRow = $("#privilegeListId").datagrid("getSelections");// 返回选中多行
	if(selRow.length==0){
		$.messager.alert("提示", "请至少选择一行数据！","warning");
		return;
	}
	var ids = [];
	for(var i = 0;i<selRow.length;i++){
		ids.push(selRow[i].id);
	}
	$.messager.confirm("提示", "您确定要删除选中的数据吗？", function(data){
		if(data){
			var url = $WEB_ROOT_PATH+'/w/wh005/delPrivilege';
			$.post(url,{"ids" : ids},function(r){
				if(r){
					$.messager.alert('提示','操作成功',"info",function(){
						$("#privilegeListId").datagrid("reload"); //刷新
					});
				}
			});
		}
	});
	
}

/**
 * 数据查询
 */
function someWhere(){
	$("#privilegeListId").datagrid('load',{
		privilege_type:$.trim($("#privilege_type").val())
	});

}
/**
 * 注：全局变量
 */
var privilgeIds = [];
var menuIds =[];

function setPrivilege(){ //菜单授权开始
	var selRow = $("#privilegeListId").datagrid("getSelections");// 返回选中多行
	if(selRow.length==0 || selRow.length>1){
		$.messager.alert("提示", "请选择一行数据！","warning");
		return;
	}
	for(var i = 0;i<selRow.length;i++){
		privilgeIds.push(selRow[i].id);
	}
	$("#menuDialogId").dialog({
		closed: false,
		closable: false,
		left:'15%',
		top:'5%',
		title:'菜单授权',
		iconCls:'icon-save',
		onOpen:function(){
			//根据权限类型id获取权限类型的菜单
			//复选框改为单选，故用下标取值
			$.post($WEB_ROOT_PATH+'/w/wh005/getOnePrivilegeMenu',{id:privilgeIds[0]},function(result){
				$("#treeId").tree({ // tree菜单全部加载
					url : $WEB_ROOT_PATH + '/w/wh002/getSysPrivilgeMenus',
					lines : true,
					animate : true,
					checkbox:true,
					cascadeCheck:false, //是否级联选择
					onSelect:function(node){ //点击事件
					},
					onCheck : function(node, checked) {
						if (checked) {
							var parentNode = $("#treeId").tree('getParent', node.target);
							if (parentNode != null) {
								$("#treeId").tree('check', parentNode.target);
							}
						} else {
							var childNode = $("#treeId").tree('getChildren', node.target);
							if (childNode.length > 0) {
								for (var i = 0; i < childNode.length; i++) {
									$("#treeId").tree('uncheck', childNode[i].target);
								}
							}
						}
					},
					onLoadSuccess : function(node, data) {
						if (data) {
							$(data).each(function(index, d) {
								if(null!=d && d.children.length>0){ //具有子菜单的情况
									if(d.children.length>0){
										if(null!=result && result !=""){
											for(var i = 0;i<result.length;i++){
												if(d.children.id = result[i].menu_id){
													var node = $('#treeId').tree('find', d.children.id);
													$("#treeId").tree("check",node.target);
												}
											}
										}
									}
								}
								if(null!=d && d.length==0){ //只有父菜单的情况
									if(null!=result && result !=""){
										for(var i = 0;i<result.length;i++){
											if(d.id = result[i].menu_id){
												var node = $('#treeId').tree('find', d.id);
												$("#treeId").tree("check",node.target);
											}
										}
									}
								}
							});
							
						}
					}
				});
				
			},'json');
		}
	});
}

/*function onCheckSelect(){ //获取选中的节点
	var node = $('#treeId').tree('getChecked');
	var indeterminate = $('#treeId').tree('getChecked','indeterminate'); //实心圆
	if(node.length==0){
		$.messager.alert('提示','请至少选一个节点',"info");
		return;
	}
	for(var i=0;i<node.length;i++){
		if(null!=node[i].id){
			menuIds.push(node[i].id);
		}
	}
	if(indeterminate!=null && indeterminate!=""){
		menuIds.push(indeterminate[0].id);
	}
	
	console.log(menuIds);
}*/



